using System;
using Volo.Abp.Domain.Entities.Auditing;

namespace Acme.BookStore.StockManagement
{
    /// <summary>
    /// 货品批次关联表实体类
    /// </summary>
    public class HuoPinPiCiGuanLian : AuditedAggregateRoot<int>
    {
        /// <summary>
        /// 序号
        /// </summary>
        public int SerialNumber { get; set; }

        /// <summary>
        /// 货品编号
        /// </summary>
        public string GoodsCode { get; set; } = string.Empty;

        /// <summary>
        /// 货品名称
        /// </summary>
        public string GoodsName { get; set; } = string.Empty;

        /// <summary>
        /// 状态
        /// </summary>
        public string Status { get; set; } = string.Empty;

        /// <summary>
        /// 货品类型
        /// </summary>
        public string GoodsType { get; set; } = string.Empty;

        /// <summary>
        /// 规格型号
        /// </summary>
        public string Specification { get; set; } = string.Empty;

        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; } = string.Empty;

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string WarehouseName { get; set; } = string.Empty;

        /// <summary>
        /// 仓位名称
        /// </summary>
        public string LocationName { get; set; } = string.Empty;

        /// <summary>
        /// 货品条码
        /// </summary>
        public string GoodsBarcode { get; set; } = string.Empty;

        /// <summary>
        /// 当前库存
        /// </summary>
        public int CurrentStock { get; set; }

        /// <summary>
        /// 批次
        /// </summary>
        public string BatchNumber { get; set; } = string.Empty;

        /// <summary>
        /// 生产日期
        /// </summary>
        public DateTime ProductionDate { get; set; }

        /// <summary>
        /// 到期日期
        /// </summary>
        public DateTime ExpiryDate { get; set; }

        /// <summary>
        /// 保质期
        /// </summary>
        public int ShelfLife { get; set; }

        /// <summary>
        /// 剩余天数
        /// </summary>
        public int RemainingDays { get; set; }

        /// <summary>
        /// 预警天数
        /// </summary>
        public int WarnDays { get; set; }
    }
} 